iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
Software Development

測試工程師的上線時間:從分析到實戰的刻意練習系列 第 28

Day 28:選擇障礙又發作了?用等價類別分析法幫你做出決定!

  • 分享至 

  • xImage
  •  

前言

選擇障礙又發作了!每次出門要選餐廳、買東西、挑電影,總是要糾結半天,讓人哭笑不得。這種時候,我突然想到,不如用我們測試常用的等價類別分析法來做出決定!雖然這個方法通常應用在測試範疇,但其實也能幫助我們在生活中的各種選擇障礙裡找到一條清晰的路。今天就來看看怎麼把這個方法用在現實生活中吧!

挑戰題目:如何在生活中應用等價類別覆蓋,提升日常決策效率?

不僅僅是在軟體測試中,生活中的某些選擇也可以用等價類別覆蓋技術來簡化決策。例如,當你在選擇旅行目的地、規劃運動計畫、甚至是購物時,如何有效篩選選項,達到滿足需求的同時減少不必要的試錯?這就是我們這次的挑戰題目。

知識點說明:等價類別與覆蓋策略

等價類別覆蓋的核心理念是將輸入條件劃分成幾個等價類,這樣可以避免測試冗餘,提升效率。以下是四種常見的覆蓋策略,並且我們會用日常生活中的例子來解釋它們的應用場景。

Weak Normal(弱健全測試)

  • 目標: 只針對每個條件的「有效」範圍進行測試。
  • 生活範例: 假設你要選擇今天晚餐要吃什麼,只有三個選擇:義大利麵、壽司和漢堡。你只會選擇這些「有效」選項中的一個進行測試(選擇),不會考慮無效的選項(例如沒有在考慮範圍內的泰式料理或披薩)。
  • 軟體範例: 在功能測試中,只針對輸入的有效值進行測試,例如年齡輸入為 18-65 歲之間的範圍。

Strong Normal(強健全測試)

  • 目標: 測試所有「有效」條件的組合,確保不同條件的相互作用都能被驗證。
  • 生活範例: 假設你在旅行時選擇住宿方案,必須考量地點、價格和是否包含早餐。Strong Normal 會要求你針對所有「有效」選項進行組合測試,例如:便宜的飯店在市中心且包含早餐,或是貴一點的飯店不包含早餐等情況進行選擇。
  • 軟體範例: 在功能測試中,測試所有輸入條件的有效組合,例如表單中年齡為 25 歲且城市為「台北」的情況下是否有效。

Weak Robust(弱健壯測試)

  • 目標: 測試每個條件的「有效」與「無效」等價類,單次測試僅改變一個條件。
  • 生活範例: 假設你在計畫一個週末運動計畫。你可以選擇進行跑步、游泳或騎車,當你要測試無效選項(例如:天氣不適合戶外運動),你只改變這一個條件,其他條件仍保持不變(例如:選擇室內游泳)。
  • 軟體範例: 在系統測試中,你可以測試邊界條件,例如輸入年齡為「無效」範圍(例如 -1 歲),但其他條件(如地點)保持有效。

Strong Robust(強健壯測試)

  • 目標: 測試所有條件的「有效」與「無效」組合,適用於全面性驗證。
  • 生活範例: 假設你要測試你的週末旅行計劃,可能有不同的天氣狀況(晴天、雨天)、交通選擇(開車、搭公車),以及不同的住宿選擇。Strong Robust 要求你測試所有可能的組合,例如在雨天搭公車並住在 B&B 或晴天開車住飯店等,確保所有情況都能正常進行。
  • 軟體範例: 測試年齡、地點和其他多個無效條件的組合,確保系統在極端邊界條件下能正確處理。

結論

等價類別覆蓋不僅僅是一項測試技術,也是一種策略思維,能應用於生活中的各種情境,幫助我們更有效地做出決策。在這次的實驗中,我學會了如何運用 Weak Normal、Strong Normal、Weak Robust 和 Strong Robust 來應對不同的生活挑戰,無論是簡單的運動計畫還是複雜的旅行安排,這些策略都能讓我在混亂中找到條理,提升決策效率。

透過靈活應用等價類別覆蓋,我們不僅能在軟體測試中提升效能,還能將這種思維方式融入日常生活,讓我們在複雜的情境中做出更明智的決定。

話說回來,「我現在到底該用哪個覆蓋策略來處理這個選擇障礙呢?Weak Normal 還是 Strong Robust?看來選擇障礙又發作了...]


上一篇
Day 27:資料碎片大冒險:用 K6 探索 PostgreSQL 的性能瓶頸!
下一篇
Day 29:測試,不只是驗證,更是一場探索
系列文
測試工程師的上線時間:從分析到實戰的刻意練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言